<?php
/**Laboration 2
	Moment 1. Frågor
	1.Ta reda på vad som skiljer följande funktioner som används för att dela upp en php applikation i flera filer.
	
	 * require: inkluderar och utverderar en fil under exikveringen. Om filen inte hittas kommer programmet att krascha. 
	 * require_once: Fungerar som ”require” men php kommer att titta om filen redan inkluderats till programmet och, om så vore fallet, inte ta med den igen.
	 * include: Som ”require” men exikveringen kommer att fortsätter även om filen inte hittas. Den delar dock ut en varning!
	 * include_once: Som ”include” med den skillnaden att inkluderingen bara sker en gång som i fallet med ”require_once”.
	
	2.Vilka värden kan följande datatyper ta
	 
	 * Integer: Handskas med heltal.
	 * Float: handskas med flytal dvs. decimaltal.
	 * Bool: handskas med sant(TRUE) eller falskt(FALSE).
	 * String: Här sparar men undan text, men även siffror och tecken går att spara i en textsträng.
	 * Array: En kan innehålla allt ifrån objekt, variabler, andra arrayer mm. 
	 
	 3.Ta reda på hur följande funktioner fungerar och har för användningsområde, redovisa med kodexempel.
	
	 * is_int: kontrollerar om en variabel är av värdet integer(heltal).
	 * is_string: kontrollerar om en variabel är av värdet string (har en text).
	 * isset: kontrollerar om en variabel har fått ett värde.
	 * gettype: kontrollerar vilken typ en variabel har.
	 * is_numeric: kontrollerar om en variabel har nummer (int eller float eller string med nummer i).
	 * unset: kan variera men i stora drag tar den bort en variabel. Men om man försöker ta bort en 
	   global variabel i en funktion kommer bara en lokal borttagning denna att ske.
	  
	4.Vad ger följande kod för utskrift, varför?
	 * $s = ' sträng';
	 * print('enkelfnuttar $s');
	 * print("dubbelfnuttad $s");
 	Svar: När man använder enkelfnuttar skrivs variablens namn ut istället för värdet som med dubbelfnuttar.
	
	5.Vad finns i följande "superglobala arrayer"?
	
	 * $_POST: innehåller information från HTTP POST metoden.
	 * $_GET: innehåller information från URL parametrar.
	 * $_REQUEST: har samma innehåll som $_POST, $_GET och $_COOKIE.
	 * $_SESSION: Innehåller sessions variabler.
	 * $_COOKIE: innehåller information från HTTP Cookies.
 **/
class MomentOne{
	
	//Fråga.3
	private $int = 3;
	private $float = 1.2;
	private $bool = TRUE;
	private $string = "Text";
	private $stringNumber = "123";
	private $array = array(3, 1.2, TRUE, "Text", "123");
	
	public function Test() {
		
		//här visar jag hur man kan använda "is_int"
		if(is_int($this->int)){
			echo "Ok! Detta är en int!";
		}
		else{
			echo "Int-testet misslyckades!";
		}
		
		//här visar jag hur man kan använda "is_string"
		if(is_string($this->string)){
			echo "Ok! Detta är en string!";
		}
		else{
			echo "String-testet misslyckades!";
		}
		
		//här visar jag hur man kan använda "isset"
		if(isset($this->bool)){
			echo "Ok! Denna variabeln har ett värde!";
		}
		else{
			echo "isset-testet misslyckades!";
		}
		
		//här visar jag hur man kan använda "gettype"
		echo "<p>Denna array innehåller värdena:</p>";
		foreach($this->array as $value){
				echo "*" . gettype($value) . "</br>";
		}
		
		//här visar jag hur man kan använda "is_numeric"
		if(is_numeric($this->stringNumber)){
			echo "Ok! Denna sträng innehåller siffror!";
		}
		else{
			echo "is_numeric-testet misslyckades!";
		}
		
		//här visar jag hur man kan använda "unset"
		unset($this->int);
		if(isset($this->int)){
			echo ("Unset-testet misslyckades!");
		}
		else{
			echo ("Ok! Variablen $int finns inte mer!");
		}
	}
	
	//Fråga.4
	public function QFour(){
	 $s = ' sträng';
	 print('enkelfnuttar $s');
	 print('</br>');
	 print("dubbelfnuttad $s");
	}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    	<title>Moment1-frågor</title>
   		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
  	</head>
  	<body>
	  	<p>
	  	<?php
  	
		  	//Test av Moment1
		  	$momentOne = new MomentOne();
			echo ($momentOne->Test() . "</br>");
			
			//fråga.4
			echo ("<p>Utskrift på fråga.4:</p>");
			echo ($momentOne->QFour());
  		?></p>
  	</body>
	
</html>